package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "SySelfBookingRefundOrder", description = "预定-自助预订-退款订单")
@TableName("sy_self_booking_refund_order")
@Data
public class SySelfBookingRefundOrder extends AbdulBaseEntity {

    @ApiModelProperty(value = "主键ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "自助预订订单表id")
    private Long bookOrderId;


    @ApiModelProperty(value = "退款时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date refundTime;


    @ApiModelProperty(value = "预订时长")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date bookingDuration;

    @ApiModelProperty(value = "消费时长")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date consumptionDuration;

    @ApiModelProperty(value = "退款时长")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date refundDuration;

    @ApiModelProperty(value = "退款比例")
    private Double refundRatio;

    @ApiModelProperty(value = "实付金额（分）")
    private Long actualPaymentAmount;

    @ApiModelProperty(value = "退款金额 （分）")
    private Long refundAmount;

    @ApiModelProperty(value = "退款类型（注释暂不明确）")
    private Integer refundType;

    @ApiModelProperty("手机号")
    private String phone;

    @ApiModelProperty("门店id")
    private Long storeId;


    //DTO
    @ApiModelProperty(value = "会员信息")
    @TableField(exist = false)
    private String memberInformation;

    @ApiModelProperty(value = "桌台分类")
    @TableField(exist = false)
    private String tableClassification;

    @ApiModelProperty(value = "桌台")
    @TableField(exist = false)
    private String desk;

    @ApiModelProperty(value = "预订单号")
    @TableField(exist = false)
    private String bookingNumber;

    @ApiModelProperty("预订时长")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date bookingTime;


}
